Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

milvus: Avoid crashing when empty documents are supplied to AddDocuments #959

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

AloizioMacedo
Copy link

@AloizioMacedo AloizioMacedo commented Jul 18, 2024

PR Checklist

  • Read the Contributing documentation.
  • Read the Code of conduct documentation.
  • Name your Pull Request title clearly, concisely, and prefixed with the name of the primarily affected package you changed according to Good commit messages (such as memory: add interfaces for X, Y or util: add whizzbang helpers).
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. Fixes #123).
  • Describes the source of new concepts.
  • References existing implementations as appropriate.
  • Contains test coverage for new functions.
  • Passes all golangci-lint checks.

Explanation

When interacting with different ways to create documents and then proceeding to AddDocuments, sometimes you can create an empty list of documents. This currently generates a crash due to line 211 of milvus.go. Other vectorstores (like chroma's) do not have this restriction, and there is no clear assumption that the documents have to be nonempty in the interface.

This PR makes AddDocuments a noop when empty documents are passed into it.

Some procedures (like LoadAndSplit of documentsloaders.Loader) might
end up creating an empty documents list. This is handled gracefully
in other vectorstores (like chroma), but not in milvus due
to the len(vectors[0]) piece further in AddDocuments.
@AloizioMacedo AloizioMacedo force-pushed the milvus-noop-when-empty-documents branch from 9f26bc9 to 830fa02 Compare August 23, 2024 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant